package design_pattern.factory.test3;

/**
 * Created by WeiDingKuo on 2017/10/26 10:10
 * <p>
 *
 * 抽象工厂模式配合简单工厂模式（本例通过类参数返回相应对象）
 *
 * 可以实现多个工厂，工厂里通过不同的方式来得到产品
 */
public class FactoryImpl1 implements Factory {
    @Override
    public <T extends Product> T getProduct(Class<T> c) {
        Object obj = null;
        try {
            obj = Class.forName(c.getName()).newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return (T) obj;
    }
}
